package javaeSE.json;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class JsonData {
    public static void main(String[] args) {
     /*   System.out.println("json 数据 与java的转换");

        List list = new ArrayList();
        list.add( "first" );
        list.add( "second" );
        JSONArray jsonArray = JSONArray.fromObject( list );
        System.out.println( jsonArray );*/

        // 声明一个List<map<String,String>>对象
        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
        /* 循环添加map数据 */
        for (int i = 0; i < 5; i++) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("Key", "name" + i);
            map.put("age", "" + i);
            list.add(map);
        }
        System.out.println(list);
        // 将list对象转换为json
        JSONArray json = JSONArray.fromObject(list);
        System.out.println(json);


        // 定义模拟的json数据
        String strs = "{\"hospitall\":[{\"name\":\"第一医院\",\"phone\":\"112212\"},{\"name\":\"第二医院\",\"phone\":\"112212\"}]}";
        // 将字符串，转换为jsonObject对象
        JSONObject jsono = JSONObject.fromObject(strs);
        // 获得json里的hospitall的值也就是一个json集合
        JSONArray jsonh = jsono.getJSONArray("hospitall");
        for (int i = 0; i < jsonh.size(); i++) {
            // 通过json集合获取没有一个jsonObject对象，这时候jsonObject就跟map相识了，
            // 同意是根据键值对处理数据
            JSONObject jsonn = jsonh.getJSONObject(i);

            System.out.println(jsonn.get("name"));
            System.out.println(jsonn.get("phone"));
        }




        JSONObject jsonObject = new JSONObject(); //创建Json对象
        jsonObject.put("username", "张三");     //设置Json对象的属性
        jsonObject.put("password", "123456");
        System.out.println(jsonObject.toString()); //调用toString方法将json对象转换成json字符串
//        我们常常需要把json数据返回给浏览器，可以使用以下代码：
//        response.getWriter().write(jsonObject.toString());

        // json数据转java 对象怎么转？
    }
}
